Program Listing for File obstacle_ind_merge.h
↰ Return to documentation for file (codes/cubicle_merge/obstacle_ind_merge.h)
/*******************************************************
* Copyright (C) 2019, Robotics Group, Nanyang Technology University
*
* \file obstacle_ind_merge.h
* \author Zhang Handuo (hzhang032@e.ntu.edu.sg)
* \date Januarary 2017
* \brief Process of merging individual objects into map database.
*
* Licensed under the GNU General Public License v3.0;
* you may not use this file except in compliance with the License.
*
*******************************************************/
#ifndef PROJECT_MAP_MERGE_H
#define PROJECT_MAP_MERGE_H
#include <vector>
#include <tuple>
#include <Eigen/Dense>
#include "util.h"
#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include "map_element.h"
#include "tracked_obstacle.h"
#include "obstacle_merge.h"
class obstacle_ind_merge
{
public:
explicit obstacle_ind_merge(Obstacle_merge *);
bool isObsUpdated();
// void clear();
void ResetObsUpdated();
bool isLaneUpdated();
void ResetLaneUpdated();
// void spatialMerge();
void add(unsigned char sensor, MapElement* pMap, index_t ID);
void add_lane(std::vector<Eigen::Vector3d>&);
void add_curb(std::vector<Eigen::Vector3d>&);
// void erase(unsigned char, MapElement*);
void update_threshold(double);
// std::map<index_t, MapElement *> mapDatabase;
//
// std::map<index_t, MapElement *> mapDatabase_long;
//
// std::map<index_t, MapElement *> mapDatabase_merge;
// std::map<index_t, cv::Mat > mspDet_hog_long;
// std::map<index_t, cv::Mat > mspDet_hog_wide;
protected:
bool mbObsUpdated;
bool mbCurbUpdated;
bool mbLaneUpdated;
double smooth;
// obstacles merge
Obstacle_merge *mpObstacle_merge;
void vecToMat(const std::vector<float> &, cv::Mat &);
template<typename T>
T computeHOGHistogramDistances(
const cv::Mat &, std::vector<cv::Mat> &,
int = CV_COMP_BHATTACHARYYA);
private:
};
#endif //PROJECT_MAP_MERGE_H